package com.cyl.h5.domain.vo;

import com.cyl.manager.oms.domain.entity.OrderItem;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Data
public class H5OrderVO {

    @ApiModelProperty("订单id")
    private Long orderId;

    @ApiModelProperty("支付id")
    private Long payId;

    @ApiModelProperty("订单编号")
    private String orderSn;

    @ApiModelProperty("会员id")
    private Long memberId;

    @ApiModelProperty("订单总金额")
    private BigDecimal totalAmount;

    @ApiModelProperty("应付金额")
    private BigDecimal payAmount;

    private BigDecimal couponAmount;

    @ApiModelProperty("订单状态 0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭")
    private Integer status;

    @ApiModelProperty("售后状态")
    private Integer aftersaleStatus;

    @ApiModelProperty("订单Item")
    private List<OrderItem> orderItemList;

    @ApiModelProperty("订单备注")
    private String note;

    @ApiModelProperty("物流单号")
    private String deliverySn;

    @ApiModelProperty("下单时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("支付时间")
    private LocalDateTime paymentTime;

    @ApiModelProperty("收货人姓名")
    private String receiverName;

    @ApiModelProperty("收货人手机号")
    private String receiverPhone;

    @ApiModelProperty("省份/直辖市")
    private String receiverProvince;

    @ApiModelProperty("城市")
    private String receiverCity;

    @ApiModelProperty("区")
    private String receiverDistrict;

    @ApiModelProperty("详细地址")
    private String receiverDetailAddress;

    @ApiModelProperty("支付倒计时")
    private Long timeToPay;
    
    
    @ApiModelProperty("供应商发货状态:1订单锁定，2备货中，3已发货 ,4已到店")
    private Integer sendGysStatus;
    

    @ApiModelProperty("发货时间")
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime deliveryTime;

    @ApiModelProperty("确认收货时间")
    @Excel(name = "确认收货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime receiveTime;
    
    @ApiModelProperty("核销人员id")
    @Excel(name = "核销人员id")
    private Long hxmemberid;
    
    @ApiModelProperty("核销人员昵称")
    private String hxmembernc;
    
    @ApiModelProperty("订单流程：0 正常流程 1支付就待提货")
    @Excel(name = "订单流程：0正常流程  1支付就待提货")
    private Integer process;
    
    @ApiModelProperty("锁单id")
    @Excel(name = "锁单id")
    private Long lockId;
    
    @ApiModelProperty("退款成功时间")
    @Excel(name = "退款成功时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime aftersaleTime;
    
    @Excel(name = "购买数量")
    private Integer quantity;
    
    @ApiModelProperty("产品类型  1 正常商品 2 福利券商品 3 积分商品")
    @Excel(name = "产品类型")
    private String cplx;
    
    @ApiModelProperty("兑换的福利券分类id")
    @Excel(name = "兑换的福利券分类id")
    private Long dhCouponCategoryId;
    
    @ApiModelProperty("兑换福利券的数量")
    @Excel(name = "兑换福利券的数量")
    private Long dhCouponCategoryNum;
    
    @ApiModelProperty("兑换福利券的名称")
    @Excel(name = "兑换福利券的名称")
    private String dhCouponCategoryMc;
    
    @ApiModelProperty("兑换积分数量")
    @Excel(name = "兑换积分数量")
    private BigDecimal dhJssl;
    
    @ApiModelProperty("供应商id")
    @Excel(name = "供应商id")
    private Long brandId;
    

    @ApiModelProperty("可退款时间")//在此时间之前可以退款，但受到锁定的限制
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime ktkTime;
    
    @ApiModelProperty("冗余字段")
    private String paramJson;
    
    @ApiModelProperty("群主id")
    private Long spreaduid;
 
}					
